Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- type system



  Understand unsafe in GoLang

Before going to understand unsafe package in GoLang, the first thing needs to talk about is the pointer in GoLang. If you have a background of C language, you must know what pointer means and its usage. With pointer, you are free to operate any data at memory level which means you have great power, but this means that you have great responsibility as well. That's why it might be considered unsafe in lots of cases. Take a look at a simple example of doubling an integer. package main import "fmt"...

   GOLANG,UNSAFE,ZERO-COPY     2020-03-14 23:18:00

  Convert ext3 to ext4 file system on CentOS

ext3 is a journaled file system that is commonly used by the Linux kernel. It is the default file system for many popular Linux distributions, including Debian. Stephen Tweedie. On June 28, 2006, Theodore Ts'o, the principal developer of ext3, announced an enhanced version, called ext4. Today, we will show how to convert ext3 to ext4 format on CentOS. System environment: Release version : CentOS release 5.4(Final) Kernel:  Linux localhost.lo...

   CentOS, ext3 to ext4     2012-11-21 11:40:45

  Can private method be overridden?

The private methods are not inherited by subclasses and you cannot be overridden by subclasses. According to Java Language Specification (8.4.8.3 Requirements in Overriding and Hiding), "Note that a private method cannot be hidden or overridden in the technical sense of those terms. This means that a subclass can declare a method with the same signature as a private method in one of its superclasses, and there is no requirement that the return type or throws&nb...

   Java,Private method,overridding,impossib     2011-10-06 03:57:14

  Java vs F#

Dr Cliff Click of Azul Systems, specialists in manycore JVM systems, recently published a blog post about the performance of Java compared primarily to C and C++ but also discussing C# and .NET. Three of Cliff's comments are of particular interest:Under the heading "Places where C/C++ beats Java for obvious reasons":"Value Types, such as a 'Complex' type require a full object in Java." - Dr Cliff ClickWhat Cliff forgot to mention is that .NET also provides value types and a far more compell...

   Java,F#,Performance,JVM     2012-03-07 05:07:31

  The internals of slice in GoLang

There are 3 components of slice:a) Pointer: Points to the start position of slice in the underlying array;b) length (type is int): the number of the valid elements of the slice;b) capacity (type is int): the total number of slots of the slice. Check the following code: package main import ( "fmt" "unsafe" ) func main() { var s1 []int fmt.Println(unsafe.Sizeof(s1)) } The result is 24 on my 64-bit system (The pointer and int both occupy 8 bytes). In the next example, I will use gdb to poke t...

   GOLANG,SLICE     2019-06-30 02:55:22

  new() and make() in GoLang

GoLang is a modern, statically typed, compiled programming language designed for building scalable, concurrent, and efficient software. It provides various built-in functions and features that help developers write concise and efficient code. Among them are the new() and make() functions, which may appear similar at first glance but serve different purposes in GoLang and are crucial for memory allocation and data initialization. In this blog article, we will explore the differences between the n...

   NEW,MAKE,GOLANG     2023-11-18 13:43:25

  Installing LAMP On Ubuntu

In this guide I will show you how to install a LAMP system. LAMP stands for Linux, Apache, MySQL, PHP. The guide is intended to help those who have very little knowlegde of using Linux. Install ApacheTo start off we will install Apache.1. Open up the Terminal (Applications > Accessories > Terminal).2. Copy/Paste the following line of code into Terminal and then press enter:sudo apt-get install apache23. The Terminal will then ask you for you're password, type it an...

   LAMP,Ubuntu,Linux,Apache,MySQL,,PHP     2011-04-28 05:20:02

  Be careful about printing error as string in GoLang

In GoLang, we can format and produce string using fmt.Printf(), just like C, GoLang also supports format verbs like %s, %d which can be placeholder for different types of values. But please pay attention when printing error as string so that you will not fall into some trap. Let's first take an example code snippet and see what trap we are talking about. package main import "fmt" type A string func (a A) Error() string { return fmt.Sprintf("%s is an error", a) } func main() { a := A("hello...

   STACKOVERFLOW,GOLANG,FMT     2019-01-23 09:17:15

  Will nil == nil be true in GoLang

There is some interview question may ask whether nil == nil be true in GoLang. Wil it be true. false or compilation error? To know the answer, some knowledge about nil in GoLang needs to be explained first. nil definition According to Go's official documentation, the definition of nil is // nil is a predeclared identifier representing the zero value for a // pointer, channel, func, interface, map, or slice type. var nil Type // Type must be a pointer, channel, func, interface, map, or slice type...

   GOLANG,NIL,NIL EXPLANATION     2021-08-08 02:54:15

  Evolution mail configuration with Hotmail on Ubuntu

Evolution mail now is the default Email client on Ubuntu. When we configure this mail client with Hotmail. The steps should be followed.   Step 1: Open Evolution mail through Applications->Internet->Evolution mail    Step 2: Goto Edit->Preferences   Step 3 : Click Add button or double click on the added mail account.   Step 4 : On the Identity tab, fill the Hotmail account you want to use.    Step 5 : On "Receiving email" Tab,      ...

   Ubuntu,Evolution mail,Hotmail,Configurat     2011-04-28 09:24:01